<template>
  <div class="person">
    <!-- <h2>姓名：{{ name }}</h2>
    <h2>年龄：{{ age }}</h2>
    <button @click="changeName">修改姓名</button>
    <button @click="changeAge">修改年龄</button>
    <button @click="showTel">查看联系方式</button> -->
  </div>
</template>

<script lang="ts">
export default {
  name: "Person",
  setup() {
    console.log(this); //setup函数中的this是undefined，vue3中已经弱化this了
    //数据,原来是写在data中的，此时name，age，tel都不是响应式数据了
    let name = 'zqs'
    let age = 18
    let tel = '18218392088'

    //方法
    function changeName() {
      //name确实改变了，但是页面没有更新，因为name不是响应式数据
      name = 'zhangsan'
    }

    function changeAge() {
      age += 1
    }

    function showTel() {
      alert(tel)
    }

    // return {
    //   name, age, changeName, changeAge, showTel
    // }

    //setup的返回值也可以一个渲染函数，少用
    return () => '哈哈'
  },
}
</script>

<style scoped>
.person {
  background-color: skyblue;
  box-shadow: 0px 1px 2px #ddd;
  border-radius: 10px;
  padding: 20px;
}
</style>
